package org.millioncall.yueyoga.admin.dao;

import java.util.List;
import java.util.Map;

import org.millioncall.yueyoga.admin.model.CheduleDetails;
import org.millioncall.yueyoga.admin.model.ClassScheduleModel;

public interface CheduleDetailsDAO {
	/**
	 * 根据班级Id，查询可订座的课程
	 * 
	 * @param maps
	 * @return List<CheduleDetails>
	 */
	public List<CheduleDetails> findcheduleDetailsByCalssId(Map<String, Object> maps);

	/**
	 * 根据班级Id,查询班级下的课程
	 * 
	 * @param clsId
	 * @return
	 */
	public List<ClassScheduleModel> findClsScheduleByClsId(Integer classId, String date);

	/**
	 * 添加新的课程信息
	 * 
	 * @param details
	 * @return
	 */
	public boolean addCheduleDetail(CheduleDetails details);

	public CheduleDetails findCheduleDetailsByCdts(String kcxh, String scheduleId, String curDate);

	public int updateCheduleDetails(CheduleDetails cd);

	/**
	 * 根据条件查询所有课程
	 * 
	 * @param maps
	 * @return List<CheduleDetails>
	 */
	public List<CheduleDetails> findAllCheduleDetailsByMap(Map<String, Object> maps);
	
	
	/**
	 * 根据班级Id,日期,班级所在会馆，查询该班级下的课程
	 * @param maps
	 * @return
	 */
	public List<ClassScheduleModel> findScheduleDetailListByCdts(Map<String,Object> map);

	public List<ClassScheduleModel> findPersonScheduleListByCdts(Map<String, Object> map);
	
	/**
	 * 更新自动几天开启预定
	 * @param map 参数集合
	 * */
	public int updateReserveCount(Map<String, Object> map);
	
	/**
	 * 更新课程结束的状态
	 * @param map 参数集合
	 * */
	public int updateScheduleOver(Map<String, Object> map);
	
	/**
	 * 根据课程编号获得课程信息
	 * @param cheduleId
	 * @return
	 */
	public CheduleDetails findCheduleDetailById(Map<String, Object> map);

	public Boolean deleteAllCheduleByMap(Map<String, Object> maps);
}